import { defineStore } from 'pinia'
export const useCommonDataStore = defineStore('commonDataStore', {
  // state 状态/数据
  state: () => {
    return {
      num: 10
    }
  },
  // 计算属性
  getters: {
    dobuleNum(): number {
      // 通过this获取state中的数据
      return this.num * 2
    }
  },
  // 函数（不分同步/异步）
  actions: {
    increaseNum() {
      this.num++
    },
    decreaseNum(val: number) {
      this.num += val
    },
    // 异步
    asyncChangeNum() {
      return new Promise((resolve: (value: void) => void) => {
        setTimeout(() => {
          this.num += 2
          // 切换状态为成功
          resolve()
        }, 1000)
      })
    }
  }
})
